// ignore_for_file: constant_identifier_names

//https://github.com/yujincheng08/BiliRoaming/blob/master/app/src/main/res/values/strings_raw.xml
//https://github.com/yujincheng08/BiliRoaming/blob/master/app/src/main/res/values/arrays.xml

enum CDNService {
  baseUrl('基础URL（不推荐）'),
  backupUrl('备用URL'),
  ali('ali（阿里云）', 'upos-sz-mirrorali.bilivideo.com'),
  alib('alib（阿里云）', 'upos-sz-mirroralib.bilivideo.com'),
  alio1('alio1（阿里云）', 'upos-sz-mirroralio1.bilivideo.com'),
  cos('cos（腾讯云）', 'upos-sz-mirrorcos.bilivideo.com'),
  cosb('cosb（腾讯云，VOD加速类型）', 'upos-sz-mirrorcosb.bilivideo.com'),
  coso1('coso1（腾讯云）', 'upos-sz-mirrorcoso1.bilivideo.com'),
  hw('hw（华为云，融合CDN）', 'upos-sz-mirrorhw.bilivideo.com'),
  hwb('hwb（华为云，融合CDN）', 'upos-sz-mirrorhwb.bilivideo.com'),
  hwo1('hwo1（华为云，融合CDN）', 'upos-sz-mirrorhwo1.bilivideo.com'),
  hw_08c('08c（华为云，融合CDN）', 'upos-sz-mirror08c.bilivideo.com'),
  hw_08h('08h（华为云，融合CDN）', 'upos-sz-mirror08h.bilivideo.com'),
  hw_08ct('08ct（华为云，融合CDN）', 'upos-sz-mirror08ct.bilivideo.com'),
  tf_hw('tf_hw（华为云）', 'upos-tf-all-hw.bilivideo.com'),
  tf_tx('tf_tx（腾讯云）', 'upos-tf-all-tx.bilivideo.com'),
  akamai('akamai（Akamai海外）', 'upos-hz-mirrorakam.akamaized.net'),
  aliov('aliov（阿里云海外）', 'upos-sz-mirroraliov.bilivideo.com'),
  cosov('cosov（腾讯云海外）', 'upos-sz-mirrorcosov.bilivideo.com'),
  hwov('hwov（华为云海外）', 'upos-sz-mirrorhwov.bilivideo.com'),
  hk_bcache('hk_bcache（Bilibili海外）', 'cn-hk-eq-bcache-01.bilivideo.com')
  ;

  final String desc;
  final String? host;

  const CDNService(this.desc, [this.host]);
}

// from https://rec.danmuji.org/dev/cdn-info/
// {
//     'cn-ahwh-ct-': {'01': 16},
//     'cn-cq-ct-': {'01': 35, '02': 2},
//     'cn-gddg-ct-': {'01': 36},
//     'cn-gdfs-ct-': {'01': 28},
//     'cn-hblf-ct-': {'01': 21},
//     'cn-hbyc-ct-': {'02': 35},
//     'cn-hljheb-ct-': {'01': 12},
//     'cn-hnld-ct-': {'01': 56},
//     'cn-jsnt-ct-': {'01': 52},
//     'cn-jsyz-ct-': {'03': 52},
//     'cn-jxjj-ct-': {'01': 14},
//     'cn-sccd-ct-': {'01': 32},
//     'cn-sxxa-ct-': {'03': 14},
//     'cn-xj-ct-': {'01': 6},
//     'cn-zjjh-ct-': {'04': 37},
//     'cn-gddg-cu-': {'01': 15},
//     'cn-hncs-cu-': {'01': 14, 'v': 6},
//     'cn-hnly-cu-': {'01': 35},
//     'cn-jlcc-cu-': {'03': 16},
//     'cn-jstz-cu-': {'01': 14},
//     'cn-lnsy-cu-': {'01': 9, 'v': 4},
//     'cn-nmghhht-cu-': {'01': 15, 'v': 11},
//     'cn-sccd-cu-': {'01': 13},
//     'cn-sdqd-cu-': {'01': 25},
//     'cn-sxty-cu-': {'03': 10},
//     'cn-sxxa-cu-': {'02': 8},
//     'cn-zjhz-cu-': {'01': 8, 'v': 6},
//     'cn-cq-cm-': {'01': 30},
//     'cn-fjqz-cm-': {'01': 10},
//     'cn-gddg-cm-': {'01': 14},
//     'cn-gdst-cm-': {'01': 17},
//     'cn-hbsjz-cm-': {'02': 16},
//     'cn-hbwh-cm-': {'01': 23},
//     'cn-hncs-cm-': {'03': 24},
//     'cn-hnzz-cm-': {'01': 16},
//     'cn-jssz-cm-': {'01': 24, '02': 62},
//     'cn-jxnc-cm-': {'01': 20},
//     'cn-lnsy-cm-': {'01': 11},
//     'cn-nmghhht-cm-': {'01': 5},
//     'cn-sccd-cm-': {'03': 26},
//     'cn-sdjn-cm-': {'02': 14},
//     'cn-sxxa-cm-': {'01': 14},
//     'cn-tj-cm-': {'02': 16},
//     'cn-xj-cm-': {'02': 6},
//     'cn-zjhz-cm-': {'01': 29},
//     'cn-cq-gd-': {'01': 20},
//     'cn-gdgz-gd-': {'01': 20},
//     'cn-gzgy-gd-': {'01': 6},
//     'cn-hb-gd-': {'01': 4},
//     'cn-hbwh-gd-': {'01': 6},
//     'cn-hljheb-gd-': {'01': 2},
//     'cn-hncs-gd-': {'01': 8},
//     'cn-jlcc-gd-': {'01': 5},
//     'cn-jsnj-gd-': {'01': 8},
//     'cn-zjhz-gd-': {'02': 2},
//     'cn-bj-fx-': {'01': 6},
//     'cn-fjfz-fx-': {'01': 6},
//     'cn-gdgz-fx-': {'01': 18},
//     'cn-hbwh-fx-': {'01': 16},
//     'cn-hncs-fx-': {'01': 6},
//     'cn-hnzz-fx-': {'01': 8},
//     'cn-jsnj-fx-': {'02': 6},
//     'cn-sccd-fx-': {'01': 6},
//     'cn-sdjn-fx-': {'01': 6},
//     'cn-sh-fx-': {'01': 10},
//     'cn-tj-fx-': {'01': 6},
//     'cn-bj-se-': {'01': 8},
//     'cn-bj-cc-': {'03': 18},
//     'cn-gdfs-cc-': {'02': 21},
//     'cn-sh-cc-': {'01': 15},
//     'cn-zjhz-wasu-': {'03': 21, '04': 12},
//     'cn-sh-ix-': {'01': 13},
//     'cn-hk-eq-': {'01': 14}
// }
